<?php

namespace app\api\model\wanlshop;

use think\Model;
use traits\model\SoftDelete;
use think\Db;
use think\Log;

class Goods extends Model
{
    use SoftDelete;

    // 表名
    protected $name = 'wanlshop_goods';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    protected $deleteTime = 'deletetime';


    // getImagesAttr
    public function getImagesAttr($value)
    {
        return $value ? explode(',', $value) : [];
    }

    // SKU
    public function getSkuAttr($value, $data)
    {
        $goods = db("wanlshop_goods")->where("id",$data['id'])->value("discounts");
        $list = GoodsSku::where(['goods_id'=>$data['id'], 'stock'=>['>',0], 'state'=> ['=',0]])->field('id,thumbnail,difference,price,market_price,stock,state,weigh,sn,sales')->select();
        foreach ($list as &$v){
            if (!empty($goods)){
                $v["pv"] = bcmul($v["price"], $goods / 100, 2);
            }else{
                $v["pv"] = 0;
            }
        }
        return $list;
    }

    // SPU
    public function getSpuAttr($value, $data)
    {
        $list = GoodsSpu::where('goods_id',$data['id'])->field('id,name,item')->select();
        return $list;
    }

    // 获取评论
    public function getCommentListAttr($value, $data)
    {
        $comment = new GoodsComment;
        $where = [
            'goods_id' => $data['id'],
            'order_type' => 'goods'
        ];
        $list = $comment
            ->where($where)
            ->order('createtime desc')
            ->field('id,user_id,content,suk,images,score')
            ->limit(1) // 默认展示几条评论
            ->select();
        foreach ($list as $row) {
            $row->user = db("user")->where("id",$row["user_id"])->field("id,nickname,avatar")->find();
        }
        return [
            'figure' => $comment->where($where)->where('images','neq', '')->count(), //有图
            // 'tag' => array_count_values($comment->where($where)->limit(100)->column('tag')), //评论标签
            'data' => $list
        ];
    }


    // 类目属性 格式化
    public function getCategoryAttributeAttr($value)
    {
        return json_decode($value,true);
    }

    // 品牌
    public function brand()
    {
        return $this->belongsTo('app\api\model\wanlshop\Brand', 'brand_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    // 运费模板
    public function freight()
    {
        return $this->belongsTo('app\api\model\wanlshop\ShopFreight', 'freight_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    // 运费模板
    public function freightdata()
    {
        return $this->belongsTo('app\api\model\wanlshop\ShopFreightData', 'freight_id', 'freight_id', [], 'LEFT')->setEagerlyType(0);
    }

    // 店铺
    public function shop()
    {
        return $this->belongsTo('app\api\model\wanlshop\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    // 类目
    public function category()
    {
        return $this->belongsTo('app\api\model\wanlshop\Category', 'category_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    // 店铺类目
    public function shopsort()
    {
        return $this->belongsTo('app\api\model\wanlshop\ShopSort', 'shop_category_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }



}
